const express = require('express');
const itemController = require('../controllers/itemController');
const router = express.Router();

// 获取好友列表的路由
router.get('/', async (req, res) => {
    try {
        const items = await itemController.getItems();
        res.render('item-list.html', { items });
    } catch (err) {
        res.status(500).send(err.message);
    }
});

// 渲染添加好友页面的路由
router.get('/add', (req, res) => {
    res.render('item-add.html');
});

// 处理添加好友请求的路由
router.post('/add', async (req, res) => {
    const item = req.body;
    try {
        await itemController.addItem(item);
        res.redirect('/items');
    } catch (err) {
        res.status(400).send(err.message);
    }
});

// 渲染修改好友页面的路由（根据好友ID）
router.get('/edit/:id', async (req, res) => {
    const itemId = req.params.id;
    try {
        const item = await itemController.getItemById(itemId);
        res.render('item-edit.html', { item });
    } catch (err) {
        res.status(500).send(err.message);
    }
});

// 处理修改好友请求的路由（根据好友ID）
router.post('/edit/:id', async (req, res) => {
    const itemId = req.params.id;
    const updatedItem = req.body;
    try {
        await itemController.updateItem(itemId, updatedItem);
        res.redirect('/items');
    } catch (err) {
        res.status(400).send(err.message);
    }
});

// 处理删除好友请求的路由（根据好友ID）
router.get('/delete/:id', async (req, res) => {
    const itemId = req.params.id;
    try {
        await itemController.deleteItem(itemId);
        res.redirect('/items');
    } catch (err) {
        res.status(400).send(err.message);
    }
});

// 导出好友相关路由模块，供主应用文件使用
module.exports = router;